package implementaciones;

import interfaces.ITS;
import interfaces.Tokens;

import java.util.Vector;

public class TS implements ITS {
	Vector<EntradaTS> entradas;
	
	public TS() {
		entradas = new Vector<EntradaTS>();
	}
	
	
	//-- Interfaz ITS
	
	public void anadeId(String id, Tokens tipo)
	{
		anadeId(new EntradaTS(id, tipo, entradas.size()));
	}
	
	public boolean existeId(String id) {
		return find(id)>=0;
	}
	
	public Tokens dameTipo(String id){
		int index = find(id);
		if (index >= 0)
			return entradas.elementAt(index).getTipo();
		else 
			return Tokens.Error;
	}
	
	public int dameDir(String id) {
		int index = find(id);
		if (index >= 0)
			return entradas.elementAt(find(id)).getDir();
		else
			return -1;
	}
	
	
	//-- Metodos privados generales
	
	private void anadeId(EntradaTS entrada) {
		entradas.add(entrada);
	}
	
	//Para encontrar el indice del elemento con el id
	private int find(String id)
	{
		for (int i=0; i<entradas.size(); i++)
			if (entradas.elementAt(i).id.equals(id))
				return i;
		return -1;
	}
}
